<?php
/**
 * Udalosti_sablony Model for Ohlasky Component
 * @license		GNU/GPL
 */

// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();

jimport( 'joomla.application.component.model' );

/**
 * Ohlasky Model
 */
class OhlaskysModelUdalosti_sablony extends JModel
{



    function getAktivni_mista() {
        $db =& JFactory::getDBO();
        $query5 = 'SELECT * FROM #__mista	 WHERE #__mista.aktivni = "Ano"';
        $db->setQuery( $query5 );
        $mista_obj_list = $db->loadObjectList();
        return $mista_obj_list;
    }



    //vraci seznam objektu
    function getUdalosti_sablony()
    {
        $db =& JFactory::getDBO();
        $chyba = '';
        $sablona_id_int = JRequest::getVar('sablona_id',  0, '', 'integer');
        if (!empty($sablona_id_int)) {
            //hledame sablona dle predaneho id
            $nalezena_sablona_obj = $this->getSablona_id($sablona_id_int);
            if (empty($nalezena_sablona_obj)) {
                $chyba = 'CHYBA: Šablona id: '.$sablona_id_int.' nebyla nalezena!';
            }
        } else {
            //hledame aktualni nebo posledni sablona ohlasek
            $chyba = 'Chyba: Nebylo předáno id sablony!';
        }
        if (empty($chyba)) {
            $mista_obj_list = array();
            $nalezena_sablona_id = $nalezena_sablona_obj->id;
            settype($nalezena_sablona_id, "integer");
            $mista_obj_list = $this->getAktivni_mista();
            if (empty($mista_obj_list)) {
                $chyba = 'Pro aktuální šablonu nenalezena žádná místa!';
            }
        }

        if (empty($chyba)) {
            //vytvoreni pole s misty
            $x = 0;
            while (list($key, $misto_obj) = each($mista_obj_list)) {
                $mista_arr[$x] = $misto_obj->misto;
                $x++;
            }

            //vytvoreni asoc.pole kde klic je nazev mista a hodnota jeho id
            foreach ($mista_obj_list as $misto_obj) {
                $mista_id_arr[$misto_obj->misto] = $misto_obj->id;
            }

            //vytvoreni pole se dny v tydnu $dny_tydne_arr

            $dny_tydne_arr =  array('PO','UT','ST','CT','PA','SO','NE');

            //inicializace pole bunky tabulky
            foreach ($dny_tydne_arr as $den_tydne_str) {
                foreach ($mista_arr as $misto) {
                    $radek_bunky_arr = array('&nbsp;');
                    $bunky_arr[$den_tydne_str][$misto] = $radek_bunky_arr;
                }
            }
            $query2 = 'SELECT #__mista.misto, #__udalost_sabl.den_tydne, #__udalost_sabl.cas,
            #__udalost_sabl.cas_konec, #__udalost_sabl.hruby_popis,
            #__udalost_sabl.zvyrazneni, #__udalost_sabl.id
            FROM #__udalost_sabl JOIN #__mista
            ON #__udalost_sabl.misto_id = #__mista.id
            WHERE  #__udalost_sabl.sablona_id = '.$nalezena_sablona_id.' ORDER BY #__udalost_sabl.cas';
            $db->setQuery( $query2 );
            $udalosti_sabl_obj_list = $db->loadObjectList();

            while (list($key, $udalost_obj) = each($udalosti_sabl_obj_list))
            {
                $cas = $udalost_obj->cas;
                $den_tydne =  $udalost_obj->den_tydne;
                $misto = $udalost_obj->misto;
                $ind = count($bunky_arr[$den_tydne][$misto]);
                if ($ind == 1) {
                    if ($bunky_arr[$den_tydne][$misto][0] == '&nbsp;') {
                        $ind = 0;
                    }
                }
                $bunky_arr[$den_tydne][$misto][$ind] = $udalost_obj;
            }


            $udalosti_sablony_arr['bunky_arr'] = $bunky_arr;
            $udalosti_sablony_arr['mista_arr'] = $mista_arr;
            $udalosti_sablony_arr['mista_id_arr'] = $mista_id_arr;
            $udalosti_sablony_arr['nalezena_sablona_obj'] = $nalezena_sablona_obj;
        } else {
            $udalosti_sablony_arr['nalezena_sablona_obj'] = null;
        }
        $udalosti_sablony_arr['chyba'] = $chyba;
        return $udalosti_sablony_arr;
    }



    function getSablona_id($sablona_id_int) {
        $db =& JFactory::getDBO();
        $query6 = 'SELECT * FROM #__sablony WHERE #__sablony.id = '.$sablona_id_int;
        $db->setQuery( $query6 );
        $sablona_obj = $db->loadObject();
        return $sablona_obj;
    }

    function getBarvy() {
        $db =& JFactory::getDBO();
        $query8 = 'SELECT * FROM #__barvy WHERE #__barvy.aktivni = "Ano"';
        $db->setQuery( $query8 );
        $barvy_obj_list = $db->loadObjectList();
        return $barvy_obj_list;
    }

    function getNastaveni() {
        $db =& JFactory::getDBO();
        $query8 = 'SELECT * FROM #__nastaveni';
        $db->setQuery( $query8 );
        $nastaveni_obj = $db->loadObject();
        return $nastaveni_obj;
    }

}

